/***
 * 抖音自动刷视频脚本
 * @lastEditors  : lixian
 * @fistEditors  : lixian
 * @lastDate     : 2024-06-27
 * @firstDate    : 2024-06-27
 */

// 按照1080，1920比例屏幕执行
setScreenMetrics(1080, 1920);
home()
sleep(1000);
// 打开抖音
click("抖音极速版");
console.show();
sleep(2000);
let date = new Date();
log('开始时间' + date);
看视频();
function 看视频() {
    //模拟向下滑动
    swipe(542, 1300, 543, 400, 100);
    //观看时间控制在12到36秒内
    let randomSleep = random(12000, 36000);
    log('随机观看' + randomSleep / 1000 + '秒');
    sleep(randomSleep);
    if (getRandomLast()) {
        log('模拟感兴趣上个视频');
        //向上滑动
        swipe(device.width / 2, 500, device.width / 2, device.height - 200, 300);
        //观看时间控制在10到15秒内
        delayTime = random(10000, 15000);
        log('随机观看' + delayTime / 1000 + '秒');
        sleep(delayTime);
    }
    if (getRandomLink()) {
        log('随机点赞');
        click(500, 900, 500, 900);//点赞之后视频会被暂停观看，暂未想到好的解决方法，只能在点赞之前先暂停
        click(1135, 1367, 1135, 1400);
    }
    if (getRandomCollection()) {
        log('随机收藏');
        click(500, 900, 500, 900);//同点赞原理
        click(1027, 1732, 1240, 1960);
    }
    log('下一个视频');
    swipe(542, 1300, 543, 400, 100);
    setTimeout(()=>{
       //十分钟后退出脚本运行
       exit();
       return
    },600000)
}
/**
 * 控制在18%的点赞概率
 * @returns {Boolean} 是否点赞
 */
function getRandomLink() {
    return Math.random() < 0.18;
}
/**
 * 控制在10%的收藏概率
 * @returns {Boolean} 是否收藏
 */
function getRandomCollection() {
    return Math.random() < 0.1;
}
/**
 * 控制在32%的返回上个视频概率
 * @returns {Boolean} 是否收藏
 */
function getRandomLast() {
    return Math.random() < 0.32;
}